/ Mac Power 1997 January
/ macpower199701.bin / AMUG / Publishing_19 / Alpha 6.5.sit / Tcl / Modes / tclMode.tcl ![]() | < prev |
MacBinary | 1996-08-15 | 7.5 KB | [TEXT/ALFA] |
Confidence | Program | Detection | Match Type | Support |
---|---|---|---|---|
10% | dexvert | MacBinary (archive/macBinary) | fallback | Supported |
1% | dexvert | Text File (text/txt) | fallback | Supported |
100% | file | MacBinary II, inited, Thu Aug 15 12:25:07 1996, modified Thu Aug 15 12:25:07 1996, creator Alpha editor, type ASCII, 7054 bytes "tclMode.tcl" , at 0x1c0e 382 bytes resource | default (weak) | |
99% | file | data | default | |
74% | TrID | Macintosh plain text (MacBinary) | default | |
25% | TrID | MacBinary 2 | default (weak) | |
100% | siegfried | fmt/1762 MacBinary (II) | default | |
100% | lsar | MacBinary | default |
id metadata | |
---|---|
key | value |
macFileType | [TEXT] |
macFileCreator | [ALFA] |
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0b 74 63 6c 4d 6f 64 | 65 2e 74 63 6c 00 00 00 |..tclMod|e.tcl...|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 41 4c 46 | 41 01 00 00 00 00 00 00 |.TEXTALF|A.......|
|00000050| 00 00 00 00 00 1b 8e 00 | 00 01 7e ae 38 ff e3 ae |........|..~.8...|
|00000060| 38 ff e3 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |8.......|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 42 fc 00 00 |........|....B...|
|00000080| 0d 69 66 20 24 73 74 61 | 72 74 69 6e 67 55 70 20 |.if $sta|rtingUp |
|00000090| 7b 0d 09 73 65 74 20 74 | 63 6c 4d 65 6e 75 09 09 |{..set t|clMenu..|
|000000a0| 09 22 a5 32 36 39 22 0d | 09 61 64 64 4d 6f 64 65 |.".269".|.addMode|
|000000b0| 20 54 63 6c 20 64 75 6d | 6d 79 54 63 6c 20 7b 2a | Tcl dum|myTcl {*|
|000000c0| 2e 74 63 6c 7d 20 74 63 | 6c 4d 65 6e 75 0d 09 61 |.tcl} tc|lMenu..a|
|000000d0| 64 64 4d 65 6e 75 20 74 | 63 6c 4d 65 6e 75 0d 09 |ddMenu t|clMenu..|
|000000e0| 72 65 74 75 72 6e 0d 7d | 0d 0d 0d 70 72 6f 63 20 |return.}|...proc |
|000000f0| 64 75 6d 6d 79 54 63 6c | 20 7b 7d 20 7b 7d 0d 70 |dummyTcl| {} {}.p|
|00000100| 72 6f 63 20 74 63 6c 4d | 65 6e 75 20 7b 7d 20 7b |roc tclM|enu {} {|
|00000110| 7d 0d 0d 23 20 54 68 65 | 20 6d 65 6e 75 2e 0d 6d |}..# The| menu..m|
|00000120| 65 6e 75 20 2d 6e 20 24 | 74 63 6c 4d 65 6e 75 20 |enu -n $|tclMenu |
|00000130| 2d 70 20 74 63 6c 4d 65 | 6e 75 50 72 6f 63 20 7b |-p tclMe|nuProc {|
|00000140| 0d 09 22 2f 4c 3c 4f 3c | 42 6c 6f 61 64 50 72 6f |.."/L<O<|BloadPro|
|00000150| 63 22 0d 09 22 2f 5a 3c | 4f 3c 42 74 72 61 63 65 |c".."/Z<|O<Btrace|
|00000160| 54 68 69 73 50 72 6f 63 | 22 0d 09 22 2f 5a 3c 4f |ThisProc|".."/Z<O|
|00000170| 3c 55 74 72 61 63 65 54 | 63 6c 50 72 6f 63 c9 22 |<UtraceT|clProc."|
|00000180| 0d 09 22 2f 44 3c 4f 3c | 55 64 75 6d 70 54 72 61 |.."/D<O<|UdumpTra|
|00000190| 63 65 73 22 0d 09 22 28 | 2d 22 0d 09 22 72 65 62 |ces".."(|-".."reb|
|000001a0| 75 69 6c 64 54 63 6c 49 | 6e 64 69 63 65 73 22 0d |uildTclI|ndices".|
|000001b0| 09 22 28 2d 22 0d 09 22 | 3c 55 2f 50 70 72 6f 63 |."(-".."|<U/Pproc|
|000001c0| 44 65 66 69 6e 69 74 69 | 6f 6e 22 0d 09 22 67 65 |Definiti|on".."ge|
|000001d0| 74 56 61 72 56 61 6c 75 | 65 c9 22 0d 7d 0d 0d 6e |tVarValu|e.".}..n|
|000001e0| 65 77 4d 6f 64 65 56 61 | 72 20 54 63 6c 20 70 72 |ewModeVa|r Tcl pr|
|000001f0| 65 66 69 78 53 74 72 69 | 6e 67 20 7b 23 20 7d 20 |efixStri|ng {# } |
|00000200| 30 0d 6e 65 77 4d 6f 64 | 65 56 61 72 20 54 63 6c |0.newMod|eVar Tcl|
|00000210| 20 77 6f 72 64 57 72 61 | 70 20 7b 30 7d 20 31 0d | wordWra|p {0} 1.|
|00000220| 6e 65 77 4d 6f 64 65 56 | 61 72 20 54 63 6c 20 66 |newModeV|ar Tcl f|
|00000230| 75 6e 63 45 78 70 72 20 | 7b 5e 70 72 6f 63 20 2a |uncExpr |{^proc *|
|00000240| 28 5b 2b 2d 61 2d 7a 41 | 2d 5a 30 2d 39 5d 2b 29 |([+-a-zA|-Z0-9]+)|
|00000250| 7d 20 30 0d 6e 65 77 4d | 6f 64 65 56 61 72 20 54 |} 0.newM|odeVar T|
|00000260| 63 6c 20 70 61 72 73 65 | 45 78 70 72 20 7b 5e 70 |cl parse|Expr {^p|
|00000270| 72 6f 63 20 2a 28 5b 2b | 2d 61 2d 7a 41 2d 5a 30 |roc *([+|-a-zA-Z0|
|00000280| 2d 39 5d 2b 29 7d 20 30 | 0d 6e 65 77 4d 6f 64 65 |-9]+)} 0|.newMode|
|00000290| 56 61 72 20 54 63 6c 20 | 77 6f 72 64 42 72 65 61 |Var Tcl |wordBrea|
|000002a0| 6b 20 7b 28 5c 24 29 3f | 5c 77 2b 7d 20 30 0d 6e |k {(\$)?|\w+} 0.n|
|000002b0| 65 77 4d 6f 64 65 56 61 | 72 20 54 63 6c 20 77 6f |ewModeVa|r Tcl wo|
|000002c0| 72 64 42 72 65 61 6b 50 | 72 65 66 61 63 65 20 7b |rdBreakP|reface {|
|000002d0| 28 5b 5e 61 2d 7a 41 2d | 5a 30 2d 39 5f 5c 24 5d |([^a-zA-|Z0-9_\$]|
|000002e0| 7c 2e 5c 24 29 7d 20 30 | 0d 6e 65 77 4d 6f 64 65 ||.\$)} 0|.newMode|
|000002f0| 56 61 72 20 54 63 6c 20 | 65 6c 65 63 4c 42 72 61 |Var Tcl |elecLBra|
|00000300| 63 65 09 31 09 31 0d 6e | 65 77 4d 6f 64 65 56 61 |ce.1.1.n|ewModeVa|
|00000310| 72 20 54 63 6c 20 65 6c | 65 63 52 42 72 61 63 65 |r Tcl el|ecRBrace|
|00000320| 09 31 09 31 0d 6e 65 77 | 4d 6f 64 65 56 61 72 20 |.1.1.new|ModeVar |
|00000330| 54 63 6c 20 65 6c 65 63 | 52 65 74 75 72 6e 09 31 |Tcl elec|Return.1|
|00000340| 09 31 0d 6e 65 77 4d 6f | 64 65 56 61 72 20 54 63 |.1.newMo|deVar Tc|
|00000350| 6c 20 61 75 74 6f 4d 61 | 72 6b 09 30 09 31 0d 6e |l autoMa|rk.0.1.n|
|00000360| 65 77 4d 6f 64 65 56 61 | 72 20 54 63 6c 20 65 6c |ewModeVa|r Tcl el|
|00000370| 65 63 74 72 69 63 54 61 | 62 20 31 20 31 0d 6e 65 |ectricTa|b 1 1.ne|
|00000380| 77 4d 6f 64 65 56 61 72 | 20 54 63 6c 20 73 74 72 |wModeVar| Tcl str|
|00000390| 69 6e 67 43 6f 6c 6f 72 | 09 67 72 65 65 6e 09 30 |ingColor|.green.0|
|000003a0| 0d 6e 65 77 4d 6f 64 65 | 56 61 72 20 54 63 6c 20 |.newMode|Var Tcl |
|000003b0| 63 6f 6d 6d 65 6e 74 43 | 6f 6c 6f 72 09 72 65 64 |commentC|olor.red|
|000003c0| 09 30 0d 6e 65 77 4d 6f | 64 65 56 61 72 20 54 63 |.0.newMo|deVar Tc|
|000003d0| 6c 20 6b 65 79 77 6f 72 | 64 43 6f 6c 6f 72 09 62 |l keywor|dColor.b|
|000003e0| 6c 75 65 09 30 0d 0d 73 | 65 74 20 74 63 6c 4b 65 |lue.0..s|et tclKe|
|000003f0| 79 57 6f 72 64 73 20 7b | 0d 09 74 68 65 6e 20 61 |yWords {|..then a|
|00000400| 70 70 65 6e 64 20 61 72 | 72 61 79 20 62 72 65 61 |ppend ar|ray brea|
|00000410| 6b 20 63 61 73 65 20 63 | 61 74 63 68 20 63 64 20 |k case c|atch cd |
|00000420| 63 6c 6f 73 65 20 63 6f | 6e 63 61 74 20 63 6f 6e |close co|ncat con|
|00000430| 74 69 6e 75 65 20 65 6c | 73 65 69 66 20 65 6c 73 |tinue el|seif els|
|00000440| 65 20 65 6f 66 20 0d 09 | 65 72 72 6f 72 20 65 76 |e eof ..|error ev|
|00000450| 61 6c 20 65 78 65 63 20 | 65 78 69 74 20 65 78 70 |al exec |exit exp|
|00000460| 72 20 66 69 6c 65 20 66 | 6c 75 73 68 20 66 6f 72 |r file f|lush for|
|00000470| 65 61 63 68 20 66 6f 72 | 6d 61 74 20 66 6f 72 20 |each for|mat for |
|00000480| 67 65 74 73 20 67 6c 6f | 62 61 6c 20 67 6c 6f 62 |gets glo|bal glob|
|00000490| 20 0d 09 68 69 73 74 6f | 72 79 20 69 66 20 69 6e | ..histo|ry if in|
|000004a0| 63 72 20 69 6e 66 6f 20 | 6a 6f 69 6e 20 6c 61 70 |cr info |join lap|
|000004b0| 70 65 6e 64 20 6c 69 62 | 72 61 72 79 20 6c 69 6e |pend lib|rary lin|
|000004c0| 64 65 78 20 6c 69 6e 73 | 65 72 74 20 6c 69 73 74 |dex lins|ert list|
|000004d0| 20 6c 6c 65 6e 67 74 68 | 20 0d 09 6c 72 61 6e 67 | llength| ..lrang|
|000004e0| 65 20 6c 72 65 70 6c 61 | 63 65 20 6c 73 65 61 72 |e lrepla|ce lsear|
|000004f0| 63 68 20 6c 73 6f 72 74 | 20 6f 70 65 6e 20 70 69 |ch lsort| open pi|
|00000500| 64 20 70 72 6f 63 20 70 | 75 74 73 20 70 77 64 20 |d proc p|uts pwd |
|00000510| 72 65 61 64 20 72 65 67 | 65 78 70 20 72 65 67 73 |read reg|exp regs|
|00000520| 75 62 20 0d 09 72 65 6e | 61 6d 65 20 72 65 74 75 |ub ..ren|ame retu|
|00000530| 72 6e 20 73 63 61 6e 63 | 6f 6e 74 65 78 74 20 73 |rn scanc|ontext s|
|00000540| 63 61 6e 20 73 65 65 6b | 20 73 65 74 20 73 6f 75 |can seek| set sou|
|00000550| 72 63 65 20 73 70 6c 69 | 74 20 73 74 72 69 6e 67 |rce spli|t string|
|00000560| 20 73 77 69 74 63 68 20 | 74 65 6c 6c 20 0d 09 74 | switch |tell ..t|
|00000570| 69 6d 65 20 74 72 61 63 | 65 20 75 6e 6b 6e 6f 77 |ime trac|e unknow|
|00000580| 6e 20 75 6e 73 65 74 20 | 75 70 6c 65 76 65 6c 20 |n unset |uplevel |
|00000590| 75 70 76 61 72 20 77 68 | 69 6c 65 0d 09 0d 09 6d |upvar wh|ile....m|
|000005a0| 65 6e 75 0d 7d 0d 69 66 | 20 7b 5b 69 6e 66 6f 20 |enu.}.if| {[info |
|000005b0| 65 78 69 73 74 73 20 54 | 63 6c 77 6f 72 64 73 5d |exists T|clwords]|
|000005c0| 7d 20 7b 73 65 74 20 74 | 63 6c 4b 65 79 57 6f 72 |} {set t|clKeyWor|
|000005d0| 64 73 20 5b 63 6f 6e 63 | 61 74 20 24 74 63 6c 4b |ds [conc|at $tclK|
|000005e0| 65 79 57 6f 72 64 73 20 | 24 54 63 6c 77 6f 72 64 |eyWords |$Tclword|
|000005f0| 73 5d 7d 0d 72 65 67 4d | 6f 64 65 4b 65 79 77 6f |s]}.regM|odeKeywo|
|00000600| 72 64 73 20 2d 65 20 7b | 23 7d 20 2d 63 20 24 54 |rds -e {|#} -c $T|
|00000610| 63 6c 6d 6f 64 65 56 61 | 72 73 28 63 6f 6d 6d 65 |clmodeVa|rs(comme|
|00000620| 6e 74 43 6f 6c 6f 72 29 | 20 2d 6b 20 24 54 63 6c |ntColor)| -k $Tcl|
|00000630| 6d 6f 64 65 56 61 72 73 | 28 6b 65 79 77 6f 72 64 |modeVars|(keyword|
|00000640| 43 6f 6c 6f 72 29 20 54 | 63 6c 20 24 74 63 6c 4b |Color) T|cl $tclK|
|00000650| 65 79 57 6f 72 64 73 20 | 2d 73 20 24 54 63 6c 6d |eyWords |-s $Tclm|
|00000660| 6f 64 65 56 61 72 73 28 | 73 74 72 69 6e 67 43 6f |odeVars(|stringCo|
|00000670| 6c 6f 72 29 0d 75 6e 73 | 65 74 20 74 63 6c 4b 65 |lor).uns|et tclKe|
|00000680| 79 57 6f 72 64 73 0d 0d | 0d 70 72 6f 63 20 65 6c |yWords..|.proc el|
|00000690| 65 63 74 72 69 63 54 63 | 6c 4c 65 66 74 20 7b 7d |ectricTc|lLeft {}|
|000006a0| 20 7b 0d 09 09 67 6c 6f | 62 61 6c 20 54 63 6c 6d | {...glo|bal Tclm|
|000006b0| 6f 64 65 56 61 72 73 0d | 0d 09 09 69 66 20 7b 20 |odeVars.|...if { |
|000006c0| 5b 69 73 53 65 6c 65 63 | 74 69 6f 6e 5d 20 7d 20 |[isSelec|tion] } |
|000006d0| 7b 20 64 65 6c 65 74 65 | 53 65 6c 65 63 74 69 6f |{ delete|Selectio|
|000006e0| 6e 20 7d 0d 09 09 69 66 | 20 7b 20 5b 6c 69 74 65 |n }...if| { [lite|
|000006f0| 72 61 6c 43 68 61 72 5d | 20 7d 20 7b 20 69 6e 73 |ralChar]| } { ins|
|00000700| 65 72 74 54 65 78 74 20 | 22 5c 7b 22 3b 20 72 65 |ertText |"\{"; re|
|00000710| 74 75 72 6e 20 7d 0d 0d | 09 09 73 65 74 20 70 61 |turn }..|..set pa|
|00000720| 74 20 7b 5c 7d 5b 20 5c | 74 5c 72 5d 2a 28 65 6c |t {\}[ \|t\r]*(el|
|00000730| 73 65 28 69 66 29 3f 29 | 5b 20 5c 74 5c 72 5d 2a |se(if)?)|[ \t\r]*|
|00000740| 24 7d 0d 09 09 69 66 20 | 7b 20 21 24 54 63 6c 6d |$}...if |{ !$Tclm|
|00000750| 6f 64 65 56 61 72 73 28 | 65 6c 65 63 4c 42 72 61 |odeVars(|elecLBra|
|00000760| 63 65 29 20 7c 7c 20 5c | 0d 09 09 09 20 28 28 5b |ce) || \|.... (([|
|00000770| 6c 6f 6f 6b 41 74 20 5b | 67 65 74 50 6f 73 5d 5d |lookAt [|getPos]]|
|00000780| 20 21 3d 20 22 5c 72 22 | 29 20 26 26 20 28 5b 67 | != "\r"|) && ([g|
|00000790| 65 74 50 6f 73 5d 20 21 | 3d 20 5b 6d 61 78 50 6f |etPos] !|= [maxPo|
|000007a0| 73 5d 29 29 20 7c 7c 20 | 5c 0d 09 09 09 20 5b 63 |s])) || |\.... [c|
|000007b0| 61 74 63 68 20 7b 73 65 | 61 72 63 68 20 2d 73 20 |atch {se|arch -s |
|000007c0| 2d 66 20 30 20 2d 72 20 | 31 20 22 5c 7d 22 20 5b |-f 0 -r |1 "\}" [|
|000007d0| 67 65 74 50 6f 73 5d 7d | 20 72 65 73 5d 20 7c 7c |getPos]}| res] |||
|000007e0| 20 5c 0d 09 09 09 20 21 | 5b 72 65 67 65 78 70 20 | \.... !|[regexp |
|000007f0| 24 70 61 74 20 5b 67 65 | 74 54 65 78 74 20 5b 6c |$pat [ge|tText [l|
|00000800| 69 6e 64 65 78 20 24 72 | 65 73 20 30 5d 20 5b 67 |index $r|es 0] [g|
|00000810| 65 74 50 6f 73 5d 5d 20 | 64 75 6d 20 77 6f 72 64 |etPos]] |dum word|
|00000820| 5d 20 7d 20 7b 0d 09 09 | 09 09 69 6e 73 65 72 74 |] } {...|..insert|
|00000830| 54 65 78 74 20 22 5c 7b | 22 0d 09 09 09 09 72 65 |Text "\{|".....re|
|00000840| 74 75 72 6e 0d 09 09 7d | 0d 09 09 72 65 70 6c 61 |turn...}|...repla|
|00000850| 63 65 54 65 78 74 20 5b | 6c 69 6e 64 65 78 20 24 |ceText [|lindex $|
|00000860| 72 65 73 20 30 5d 20 5b | 67 65 74 50 6f 73 5d 20 |res 0] [|getPos] |
|00000870| 22 5c 7d 20 24 77 6f 72 | 64 20 5c 7b 5c 72 22 0d |"\} $wor|d \{\r".|
|00000880| 09 09 69 6e 64 65 6e 74 | 4c 69 6e 65 0d 09 09 69 |..indent|Line...i|
|00000890| 66 20 7b 20 24 77 6f 72 | 64 20 3d 3d 20 22 65 6c |f { $wor|d == "el|
|000008a0| 73 65 69 66 22 20 7d 20 | 7b 0d 09 09 09 09 70 72 |seif" } |{.....pr|
|000008b0| 65 76 69 6f 75 73 4c 69 | 6e 65 0d 09 09 09 09 65 |eviousLi|ne.....e|
|000008c0| 6e 64 4f 66 4c 69 6e 65 | 0d 09 09 7d 0d 7d 0d 62 |ndOfLine|...}.}.b|
|000008d0| 69 6e 64 20 27 5c 7b 27 | 20 3c 73 3e 20 65 6c 65 |ind '\{'| <s> ele|
|000008e0| 63 74 72 69 63 54 63 6c | 4c 65 66 74 20 54 63 6c |ctricTcl|Left Tcl|
|000008f0| 0d 0d 0d 70 72 6f 63 20 | 65 6c 65 63 74 72 69 63 |...proc |electric|
|00000900| 54 63 6c 52 69 67 68 74 | 20 7b 7d 20 7b 0d 20 20 |TclRight| {} {. |
|00000910| 20 20 20 20 20 20 67 6c | 6f 62 61 6c 20 54 63 6c | gl|obal Tcl|
|00000920| 6d 6f 64 65 56 61 72 73 | 0d 20 20 20 20 20 20 20 |modeVars|. |
|00000930| 20 20 20 20 20 20 20 20 | 20 0d 20 20 20 20 20 20 | | . |
|00000940| 20 20 69 66 20 7b 20 5b | 69 73 53 65 6c 65 63 74 | if { [|isSelect|
|00000950| 69 6f 6e 5d 20 7d 20 7b | 20 64 65 6c 65 74 65 53 |ion] } {| deleteS|
|00000960| 65 6c 65 63 74 69 6f 6e | 20 7d 0d 20 20 20 20 20 |election| }. |
|00000970| 20 20 20 69 66 20 7b 20 | 5b 6c 69 74 65 72 61 6c | if { |[literal|
|00000980| 43 68 61 72 5d 20 7d 20 | 7b 20 69 6e 73 65 72 74 |Char] } |{ insert|
|00000990| 54 65 78 74 20 22 5c 7d | 22 3b 20 72 65 74 75 72 |Text "\}|"; retur|
|000009a0| 6e 20 7d 0d 20 20 20 20 | 20 20 20 20 69 66 20 7b |n }. | if {|
|000009b0| 20 21 24 54 63 6c 6d 6f | 64 65 56 61 72 73 28 65 | !$Tclmo|deVars(e|
|000009c0| 6c 65 63 52 42 72 61 63 | 65 29 20 7c 7c 20 5c 0d |lecRBrac|e) || \.|
|000009d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 5b 72 65 | | [re|
|000009e0| 67 65 78 70 20 7b 5b 5e | 20 5c 74 5d 7d 20 5b 67 |gexp {[^| \t]} [g|
|000009f0| 65 74 54 65 78 74 20 5b | 6c 69 6e 65 53 74 61 72 |etText [|lineStar|
|00000a00| 74 20 5b 67 65 74 50 6f | 73 5d 5d 20 5b 67 65 74 |t [getPo|s]] [get|
|00000a10| 50 6f 73 5d 5d 5d 20 7d | 20 7b 0d 20 20 20 20 20 |Pos]]] }| {. |
|00000a20| 20 20 20 20 20 20 20 20 | 20 20 20 69 6e 73 65 72 | | inser|
|00000a30| 74 54 65 78 74 20 22 5c | 7d 22 0d 20 20 20 20 20 |tText "\|}". |
|00000a40| 20 20 20 20 20 20 20 20 | 20 20 20 62 6c 69 6e 6b | | blink|
|00000a50| 20 5b 6d 61 74 63 68 49 | 74 20 22 5c 7d 22 20 5b | [matchI|t "\}" [|
|00000a60| 65 78 70 72 20 5b 67 65 | 74 50 6f 73 5d 20 2d 20 |expr [ge|tPos] - |
|00000a70| 32 5d 5d 0d 20 20 20 20 | 20 20 20 20 20 20 20 20 |2]]. | |
|00000a80| 20 20 20 20 72 65 74 75 | 72 6e 0d 20 20 20 20 20 | retu|rn. |
|00000a90| 20 20 20 7d 0d 20 20 20 | 20 20 20 20 20 73 65 74 | }. | set|
|00000aa0| 20 73 74 61 72 74 20 5b | 6c 69 6e 65 53 74 61 72 | start [|lineStar|
|00000ab0| 74 20 5b 67 65 74 50 6f | 73 5d 5d 0d 20 20 20 20 |t [getPo|s]]. |
|00000ac0| 20 20 20 20 69 6e 73 65 | 72 74 54 65 78 74 20 22 | inse|rtText "|
|00000ad0| 5c 7d 22 0d 20 20 20 20 | 20 20 20 20 62 61 63 6b |\}". | back|
|00000ae0| 77 61 72 64 43 68 61 72 | 0d 20 20 20 20 20 20 20 |wardChar|. |
|00000af0| 20 69 6e 64 65 6e 74 4c | 69 6e 65 0d 20 20 20 20 | indentL|ine. |
|00000b00| 20 20 20 20 65 6e 64 4f | 66 4c 69 6e 65 0d 20 20 | endO|fLine. |
|00000b10| 20 20 20 20 20 20 74 63 | 6c 43 61 72 72 69 61 67 | tc|lCarriag|
|00000b20| 65 52 65 74 75 72 6e 0d | 20 20 20 20 20 20 20 20 |eReturn.| |
|00000b30| 62 6c 69 6e 6b 20 5b 6d | 61 74 63 68 49 74 20 22 |blink [m|atchIt "|
|00000b40| 5c 7d 22 20 24 73 74 61 | 72 74 5d 0d 7d 0d 62 69 |\}" $sta|rt].}.bi|
|00000b50| 6e 64 20 27 5c 7d 27 20 | 3c 73 3e 20 65 6c 65 63 |nd '\}' |<s> elec|
|00000b60| 74 72 69 63 54 63 6c 52 | 69 67 68 74 20 54 63 6c |tricTclR|ight Tcl|
|00000b70| 0d 09 0d 0d 70 72 6f 63 | 20 74 63 6c 43 61 72 72 |....proc| tclCarr|
|00000b80| 69 61 67 65 52 65 74 75 | 72 6e 20 7b 7d 20 7b 0d |iageRetu|rn {} {.|
|00000b90| 09 67 6c 6f 62 61 6c 20 | 54 63 6c 6d 6f 64 65 56 |.global |TclmodeV|
|00000ba0| 61 72 73 0d 09 0d 09 69 | 66 20 7b 20 5b 69 73 53 |ars....i|f { [isS|
|00000bb0| 65 6c 65 63 74 69 6f 6e | 5d 20 7d 20 7b 20 64 65 |election|] } { de|
|00000bc0| 6c 65 74 65 53 65 6c 65 | 63 74 69 6f 6e 20 7d 0d |leteSele|ction }.|
|00000bd0| 09 69 6e 73 65 72 74 54 | 65 78 74 20 22 5c 72 22 |.insertT|ext "\r"|
|00000be0| 0d 09 69 66 20 7b 24 54 | 63 6c 6d 6f 64 65 56 61 |..if {$T|clmodeVa|
|00000bf0| 72 73 28 65 6c 65 63 52 | 65 74 75 72 6e 29 7d 20 |rs(elecR|eturn)} |
|00000c00| 7b 0d 09 09 69 6e 64 65 | 6e 74 4c 69 6e 65 0d 09 |{...inde|ntLine..|
|00000c10| 7d 0d 7d 0d 62 69 6e 64 | 20 27 5c 72 27 20 74 63 |}.}.bind| '\r' tc|
|00000c20| 6c 43 61 72 72 69 61 67 | 65 52 65 74 75 72 6e 20 |lCarriag|eReturn |
|00000c30| 54 63 6c 0d 0d 0d 0d 0d | 70 72 6f 63 20 74 63 6c |Tcl.....|proc tcl|
|00000c40| 4d 65 6e 75 50 72 6f 63 | 20 7b 6d 65 6e 75 20 69 |MenuProc| {menu i|
|00000c50| 74 65 6d 7d 20 7b 0d 09 | 67 6c 6f 62 61 6c 20 74 |tem} {..|global t|
|00000c60| 63 6c 43 6f 6c 6f 72 69 | 6e 67 0d 0d 09 65 76 61 |clColori|ng...eva|
|00000c70| 6c 20 24 69 74 65 6d 0d | 7d 0d 0d 0d 70 72 6f 63 |l $item.|}...proc|
|00000c80| 20 73 65 74 54 63 6c 4d | 6f 64 65 20 7b 7d 20 7b | setTclM|ode {} {|
|00000c90| 0d 09 63 68 61 6e 67 65 | 4d 6f 64 65 20 22 54 63 |..change|Mode "Tc|
|00000ca0| 6c 22 0d 7d 0d 0d 0d 23 | 3d 3d 3d 3d 3d 3d 3d 3d |l".}...#|========|
|00000cb0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000cc0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000cd0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000ce0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000cf0| 3d 3d 3d 3d 3d 3d 3d 0d | 70 72 6f 63 20 54 63 6c |=======.|proc Tcl|
|00000d00| 44 62 6c 43 6c 69 63 6b | 20 7b 66 72 6f 6d 20 74 |DblClick| {from t|
|00000d10| 6f 20 73 68 69 66 74 20 | 6f 70 74 69 6f 6e 20 63 |o shift |option c|
|00000d20| 6f 6e 74 72 6f 6c 7d 20 | 7b 0d 09 67 6c 6f 62 61 |ontrol} |{..globa|
|00000d30| 6c 20 48 4f 4d 45 20 61 | 75 74 6f 5f 69 6e 64 65 |l HOME a|uto_inde|
|00000d40| 78 20 61 75 74 6f 5f 70 | 61 74 68 0d 09 0d 09 73 |x auto_p|ath....s|
|00000d50| 65 6c 65 63 74 20 24 66 | 72 6f 6d 20 24 74 6f 0d |elect $f|rom $to.|
|00000d60| 09 73 65 74 20 74 65 78 | 74 20 5b 67 65 74 53 65 |.set tex|t [getSe|
|00000d70| 6c 65 63 74 5d 0d 0d 09 | 23 20 49 73 20 69 74 20 |lect]...|# Is it |
|00000d80| 61 20 6c 6f 61 64 61 62 | 6c 65 20 70 72 6f 63 3f |a loadab|le proc?|
|00000d90| 0d 09 69 66 20 7b 5b 73 | 74 72 69 6e 67 20 6c 65 |..if {[s|tring le|
|00000da0| 6e 67 74 68 20 5b 73 65 | 74 20 66 20 5b 66 69 6e |ngth [se|t f [fin|
|00000db0| 64 43 6d 64 20 24 74 65 | 78 74 5d 5d 5d 7d 20 7b |dCmd $te|xt]]]} {|
|00000dc0| 0d 09 09 65 64 69 74 4d | 61 72 6b 20 24 66 20 24 |...editM|ark $f $|
|00000dd0| 74 65 78 74 0d 09 09 72 | 65 74 75 72 6e 0d 09 7d |text...r|eturn..}|
|00000de0| 0d 0d 09 69 66 20 7b 5b | 69 6e 66 6f 20 65 78 69 |...if {[|info exi|
|00000df0| 73 74 73 20 22 61 75 74 | 6f 5f 69 6e 64 65 78 28 |sts "aut|o_index(|
|00000e00| 24 74 65 78 74 29 22 5d | 7d 20 7b 0d 09 09 65 64 |$text)"]|} {...ed|
|00000e10| 69 74 4d 61 72 6b 20 22 | 24 61 75 74 6f 5f 69 6e |itMark "|$auto_in|
|00000e20| 64 65 78 28 24 74 65 78 | 74 29 22 20 24 74 65 78 |dex($tex|t)" $tex|
|00000e30| 74 0d 09 09 72 65 74 75 | 72 6e 0d 09 7d 0d 09 23 |t...retu|rn..}..#|
|00000e40| 20 49 73 20 69 74 20 61 | 20 62 75 69 6c 74 2d 69 | Is it a| built-i|
|00000e50| 6e 20 41 6c 70 68 61 20 | 63 6f 6d 6d 61 6e 64 3f |n Alpha |command?|
|00000e60| 0d 09 73 65 74 20 6c 69 | 6e 65 73 20 5b 67 72 65 |..set li|nes [gre|
|00000e70| 70 20 22 5e a5 20 24 74 | 65 78 74 20 22 20 22 24 |p "^. $t|ext " "$|
|00000e80| 48 4f 4d 45 3a 48 65 6c | 70 3a 41 6c 70 68 61 20 |HOME:Hel|p:Alpha |
|00000e90| 43 6f 6d 6d 61 6e 64 73 | 22 5d 0d 09 69 66 20 7b |Commands|"]..if {|
|00000ea0| 5b 73 74 72 69 6e 67 20 | 6c 65 6e 67 74 68 20 24 |[string |length $|
|00000eb0| 6c 69 6e 65 73 5d 7d 20 | 7b 0d 09 09 65 64 69 74 |lines]} |{...edit|
|00000ec0| 4d 61 72 6b 20 22 24 48 | 4f 4d 45 3a 48 65 6c 70 |Mark "$H|OME:Help|
|00000ed0| 3a 41 6c 70 68 61 20 43 | 6f 6d 6d 61 6e 64 73 22 |:Alpha C|ommands"|
|00000ee0| 20 24 74 65 78 74 0d 09 | 09 73 65 74 57 69 6e 49 | $text..|.setWinI|
|00000ef0| 6e 66 6f 20 72 65 61 64 | 2d 6f 6e 6c 79 20 31 0d |nfo read|-only 1.|
|00000f00| 09 09 72 65 74 75 72 6e | 0d 09 7d 0d 09 23 20 49 |..return|..}..# I|
|00000f10| 73 20 69 74 20 61 20 63 | 6f 72 65 20 54 63 6c 20 |s it a c|ore Tcl |
|00000f20| 63 6f 6d 6d 61 6e 64 3f | 0d 09 73 65 74 20 6c 69 |command?|..set li|
|00000f30| 6e 65 73 20 5b 67 72 65 | 70 20 22 5e 20 20 20 20 |nes [gre|p "^ |
|00000f40| 20 24 74 65 78 74 20 2d | 22 20 22 24 48 4f 4d 45 | $text -|" "$HOME|
|00000f50| 3a 48 65 6c 70 3a 54 63 | 6c 20 43 6f 6d 6d 61 6e |:Help:Tc|l Comman|
|00000f60| 64 73 22 5d 0d 09 69 66 | 20 7b 5b 73 74 72 69 6e |ds"]..if| {[strin|
|00000f70| 67 20 6c 65 6e 67 74 68 | 20 24 6c 69 6e 65 73 5d |g length| $lines]|
|00000f80| 7d 20 7b 0d 09 09 65 64 | 69 74 4d 61 72 6b 20 22 |} {...ed|itMark "|
|00000f90| 24 48 4f 4d 45 3a 48 65 | 6c 70 3a 54 63 6c 20 43 |$HOME:He|lp:Tcl C|
|00000fa0| 6f 6d 6d 61 6e 64 73 22 | 20 24 74 65 78 74 0d 09 |ommands"| $text..|
|00000fb0| 09 73 65 74 57 69 6e 49 | 6e 66 6f 20 72 65 61 64 |.setWinI|nfo read|
|00000fc0| 2d 6f 6e 6c 79 20 31 0d | 09 09 72 65 74 75 72 6e |-only 1.|..return|
|00000fd0| 0d 09 7d 0d 09 23 20 49 | 73 20 69 74 20 61 20 67 |..}..# I|s it a g|
|00000fe0| 6c 6f 62 61 6c 20 76 61 | 72 69 61 62 6c 65 3f 0d |lobal va|riable?.|
|00000ff0| 20 09 69 66 20 7b 5b 6c | 6c 65 6e 67 74 68 20 5b | .if {[l|length [|
|00001000| 69 6e 66 6f 20 67 6c 6f | 62 61 6c 73 20 5b 73 74 |info glo|bals [st|
|00001010| 72 69 6e 67 20 74 72 69 | 6d 6c 65 66 74 20 24 74 |ring tri|mleft $t|
|00001020| 65 78 74 20 7b 24 7d 5d | 5d 5d 3d 3d 31 7d 20 7b |ext {$}]|]]==1} {|
|00001030| 0d 09 09 73 68 6f 77 56 | 61 72 56 61 6c 75 65 20 |...showV|arValue |
|00001040| 5b 73 74 72 69 6e 67 20 | 74 72 69 6d 6c 65 66 74 |[string |trimleft|
|00001050| 20 24 74 65 78 74 20 7b | 24 7d 5d 0d 09 09 72 65 | $text {|$}]...re|
|00001060| 74 75 72 6e 0d 09 7d 0d | 09 6d 65 73 73 61 67 65 |turn..}.|.message|
|00001070| 20 22 4e 6f 20 64 6f 63 | 73 20 24 73 68 69 66 74 | "No doc|s $shift|
|00001080| 20 24 63 6f 6e 74 72 6f | 6c 20 24 6f 70 74 69 6f | $contro|l $optio|
|00001090| 6e 22 0d 7d 0d 0d 70 72 | 6f 63 20 70 72 6f 63 44 |n".}..pr|oc procD|
|000010a0| 65 66 69 6e 69 74 69 6f | 6e 20 7b 7d 20 7b 0d 09 |efinitio|n {} {..|
|000010b0| 69 66 20 7b 5b 6c 6c 65 | 6e 67 74 68 20 5b 77 69 |if {[lle|ngth [wi|
|000010c0| 6e 4e 61 6d 65 73 5d 5d | 20 26 26 20 5b 73 74 72 |nNames]]| && [str|
|000010d0| 69 6e 67 20 6c 65 6e 67 | 74 68 20 5b 73 65 74 20 |ing leng|th [set |
|000010e0| 73 65 6c 20 5b 67 65 74 | 53 65 6c 65 63 74 5d 5d |sel [get|Select]]|
|000010f0| 5d 7d 20 7b 0d 09 09 73 | 65 74 20 66 75 6e 63 20 |]} {...s|et func |
|00001100| 5b 6c 69 73 74 70 69 63 | 6b 20 2d 4c 20 24 73 65 |[listpic|k -L $se|
|00001110| 6c 20 2d 70 20 7b 50 72 | 6f 63 3f 7d 20 5b 6c 73 |l -p {Pr|oc?} [ls|
|00001120| 6f 72 74 20 2d 69 67 6e | 6f 72 65 20 5b 69 6e 66 |ort -ign|ore [inf|
|00001130| 6f 20 70 72 6f 63 73 5d | 5d 5d 0d 09 7d 20 65 6c |o procs]|]]..} el|
|00001140| 73 65 20 7b 0d 09 09 73 | 65 74 20 66 75 6e 63 20 |se {...s|et func |
|00001150| 5b 6c 69 73 74 70 69 63 | 6b 20 2d 70 20 7b 50 72 |[listpic|k -p {Pr|
|00001160| 6f 63 3f 7d 20 5b 6c 73 | 6f 72 74 20 2d 69 67 6e |oc?} [ls|ort -ign|
|00001170| 6f 72 65 20 5b 69 6e 66 | 6f 20 70 72 6f 63 73 5d |ore [inf|o procs]|
|00001180| 5d 5d 0d 09 7d 0d 0d 09 | 65 64 69 74 4d 61 72 6b |]]..}...|editMark|
|00001190| 20 5b 66 69 6e 64 43 6d | 64 20 24 66 75 6e 63 5d | [findCm|d $func]|
|000011a0| 20 24 66 75 6e 63 0d 7d | 0d 0d 23 3d 3d 3d 3d 3d | $func.}|..#=====|
|000011b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000011c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000011d0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000011e0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000011f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 0d 70 72 6f 63 20 |========|==.proc |
|00001200| 54 63 6c 4d 61 72 6b 46 | 69 6c 65 20 7b 7d 20 7b |TclMarkF|ile {} {|
|00001210| 0d 09 73 65 74 20 65 6e | 64 20 5b 6d 61 78 50 6f |..set en|d [maxPo|
|00001220| 73 5d 0d 09 73 65 74 20 | 70 6f 73 20 30 0d 09 73 |s]..set |pos 0..s|
|00001230| 65 74 20 6c 20 7b 7d 0d | 09 73 65 74 20 6d 61 72 |et l {}.|.set mar|
|00001240| 6b 45 78 70 72 20 7b 5e | 5b 20 5c 74 5d 2a 28 69 |kExpr {^|[ \t]*(i|
|00001250| 74 63 6c 5f 63 6c 61 73 | 73 7c 63 6c 61 73 73 7c |tcl_clas|s|class||
|00001260| 70 72 6f 63 7c 6d 65 74 | 68 6f 64 7c 62 6f 64 79 |proc|met|hod|body|
|00001270| 29 7d 0d 09 73 65 74 20 | 63 6c 61 73 73 20 22 22 |)}..set |class ""|
|00001280| 0d 09 77 68 69 6c 65 20 | 7b 21 5b 63 61 74 63 68 |..while |{![catch|
|00001290| 20 7b 73 65 61 72 63 68 | 20 2d 73 20 2d 66 20 31 | {search| -s -f 1|
|000012a0| 20 2d 72 20 31 20 2d 6d | 20 30 20 2d 69 20 30 20 | -r 1 -m| 0 -i 0 |
|000012b0| 22 24 6d 61 72 6b 45 78 | 70 72 22 20 24 70 6f 73 |"$markEx|pr" $pos|
|000012c0| 7d 20 72 65 73 5d 7d 20 | 7b 0d 09 09 73 65 74 20 |} res]} |{...set |
|000012d0| 73 74 61 72 74 20 5b 6c | 69 6e 64 65 78 20 24 72 |start [l|index $r|
|000012e0| 65 73 20 30 5d 0d 09 09 | 73 65 74 20 65 6e 64 20 |es 0]...|set end |
|000012f0| 5b 6e 65 78 74 4c 69 6e | 65 53 74 61 72 74 20 24 |[nextLin|eStart $|
|00001300| 73 74 61 72 74 5d 0d 09 | 09 73 65 74 20 74 20 5b |start]..|.set t [|
|00001310| 67 65 74 54 65 78 74 20 | 24 73 74 61 72 74 20 24 |getText |$start $|
|00001320| 65 6e 64 5d 0d 09 09 73 | 77 69 74 63 68 20 5b 6c |end]...s|witch [l|
|00001330| 69 6e 64 65 78 20 24 74 | 20 30 5d 20 7b 0d 09 09 |index $t| 0] {...|
|00001340| 09 22 70 72 6f 63 22 20 | 7b 20 73 65 74 20 74 65 |."proc" |{ set te|
|00001350| 78 74 20 5b 6c 69 6e 64 | 65 78 20 24 74 20 31 5d |xt [lind|ex $t 1]|
|00001360| 20 7d 0d 09 09 09 22 6d | 65 74 68 6f 64 22 20 7b | }...."m|ethod" {|
|00001370| 20 73 65 74 20 74 65 78 | 74 20 24 7b 63 6c 61 73 | set tex|t ${clas|
|00001380| 73 7d 3a 3a 5b 6c 69 6e | 64 65 78 20 24 74 20 31 |s}::[lin|dex $t 1|
|00001390| 5d 20 7d 0d 09 09 09 22 | 62 6f 64 79 22 20 7b 20 |] }...."|body" { |
|000013a0| 0d 09 09 09 09 72 65 67 | 65 78 70 20 7b 5b 61 2d |.....reg|exp {[a-|
|000013b0| 7a 41 2d 5a 5f 5d 2b 3a | 3a 5b 61 2d 7a 41 2d 5a |zA-Z_]+:|:[a-zA-Z|
|000013c0| 5f 5d 2b 20 7d 20 22 5b | 6c 69 6e 64 65 78 20 24 |_]+ } "[|lindex $|
|000013d0| 74 20 31 5d 20 22 20 74 | 65 78 74 0d 09 09 09 7d |t 1] " t|ext....}|
|000013e0| 0d 09 09 09 22 69 74 63 | 6c 5f 63 6c 61 73 73 22 |...."itc|l_class"|
|000013f0| 20 2d 0d 09 09 09 22 63 | 6c 61 73 73 22 20 7b 20 | -...."c|lass" { |
|00001400| 0d 09 09 09 09 73 65 74 | 20 63 6c 61 73 73 20 5b |.....set| class [|
|00001410| 6c 69 6e 64 65 78 20 24 | 74 20 31 5d 0d 09 09 09 |lindex $|t 1]....|
|00001420| 09 73 65 74 20 74 65 78 | 74 20 22 24 7b 63 6c 61 |.set tex|t "${cla|
|00001430| 73 73 7d 20 30 30 30 22 | 20 0d 09 09 09 7d 0d 09 |ss} 000"| ....}..|
|00001440| 09 7d 0d 09 09 73 65 74 | 20 70 6f 73 20 24 65 6e |.}...set| pos $en|
|00001450| 64 0d 09 09 73 65 74 20 | 69 6e 64 73 28 24 74 65 |d...set |inds($te|
|00001460| 78 74 29 20 5b 6c 69 6e | 65 53 74 61 72 74 20 5b |xt) [lin|eStart [|
|00001470| 65 78 70 72 20 24 73 74 | 61 72 74 20 2d 20 31 5d |expr $st|art - 1]|
|00001480| 5d 0d 09 7d 0d 0d 09 73 | 65 74 20 61 6c 72 65 61 |]..}...s|et alrea|
|00001490| 64 79 20 22 22 0d 09 0d | 09 69 66 20 7b 5b 69 6e |dy ""...|.if {[in|
|000014a0| 66 6f 20 65 78 69 73 74 | 73 20 69 6e 64 73 5d 7d |fo exist|s inds]}|
|000014b0| 20 7b 0d 09 09 66 6f 72 | 65 61 63 68 20 66 20 5b | {...for|each f [|
|000014c0| 6c 73 6f 72 74 20 2d 69 | 67 6e 6f 72 65 20 5b 61 |lsort -i|gnore [a|
|000014d0| 72 72 61 79 20 6e 61 6d | 65 73 20 69 6e 64 73 5d |rray nam|es inds]|
|000014e0| 5d 20 7b 0d 09 09 09 73 | 65 74 20 6e 65 78 74 20 |] {....s|et next |
|000014f0| 5b 6e 65 78 74 4c 69 6e | 65 53 74 61 72 74 20 24 |[nextLin|eStart $|
|00001500| 69 6e 64 73 28 24 66 29 | 5d 0d 09 09 09 69 66 20 |inds($f)|]....if |
|00001510| 7b 20 5b 73 74 72 69 6e | 67 20 66 69 72 73 74 20 |{ [strin|g first |
|00001520| 22 30 30 30 22 20 24 66 | 5d 20 21 3d 20 2d 31 20 |"000" $f|] != -1 |
|00001530| 7d 20 7b 0d 09 09 09 09 | 73 65 74 20 66 66 20 22 |} {.....|set ff "|
|00001540| 43 6c 61 73 73 20 27 5b | 6c 69 6e 64 65 78 20 24 |Class '[|lindex $|
|00001550| 66 20 30 5d 27 22 0d 09 | 09 09 7d 20 65 6c 73 65 |f 0]'"..|..} else|
|00001560| 69 66 20 7b 20 5b 73 74 | 72 69 6e 67 20 66 69 72 |if { [st|ring fir|
|00001570| 73 74 20 22 3a 3a 22 20 | 24 66 5d 20 21 3d 20 2d |st "::" |$f] != -|
|00001580| 31 20 7d 20 7b 0d 09 09 | 09 09 73 65 74 20 66 66 |1 } {...|..set ff|
|00001590| 20 22 20 3a 3a 20 5b 6c | 69 6e 64 65 78 20 5b 73 | " :: [l|index [s|
|000015a0| 70 6c 69 74 20 24 66 20 | 22 3a 3a 22 5d 20 32 5d |plit $f |"::"] 2]|
|000015b0| 22 0d 09 09 09 7d 20 65 | 6c 73 65 20 7b 0d 09 09 |"....} e|lse {...|
|000015c0| 09 09 73 65 74 20 66 66 | 20 24 66 0d 09 09 09 7d |..set ff| $f....}|
|000015d0| 0d 09 09 09 77 68 69 6c | 65 20 7b 20 5b 6c 73 65 |....whil|e { [lse|
|000015e0| 61 72 63 68 20 2d 65 78 | 61 63 74 20 24 61 6c 72 |arch -ex|act $alr|
|000015f0| 65 61 64 79 20 24 66 66 | 5d 20 21 3d 20 2d 31 20 |eady $ff|] != -1 |
|00001600| 7d 20 7b 0d 09 09 09 09 | 73 65 74 20 66 66 20 22 |} {.....|set ff "|
|00001610| 24 66 66 20 22 0d 09 09 | 09 7d 0d 09 09 09 6c 61 |$ff "...|.}....la|
|00001620| 70 70 65 6e 64 20 61 6c | 72 65 61 64 79 20 24 66 |ppend al|ready $f|
|00001630| 66 0d 09 09 09 73 65 74 | 4e 61 6d 65 64 4d 61 72 |f....set|NamedMar|
|00001640| 6b 20 24 66 66 20 24 69 | 6e 64 73 28 24 66 29 20 |k $ff $i|nds($f) |
|00001650| 24 6e 65 78 74 20 24 6e | 65 78 74 0d 09 09 7d 0d |$next $n|ext...}.|
|00001660| 09 7d 0d 7d 0d 0d 70 72 | 6f 63 20 6c 6f 61 64 50 |.}.}..pr|oc loadP|
|00001670| 72 6f 63 20 7b 7d 20 7b | 0d 09 73 65 74 09 70 6f |roc {} {|..set.po|
|00001680| 73 09 5b 67 65 74 50 6f | 73 5d 0d 09 69 66 20 5b |s.[getPo|s]..if [|
|00001690| 63 61 74 63 68 20 7b 73 | 65 74 20 70 20 5b 66 69 |catch {s|et p [fi|
|000016a0| 6e 64 45 6e 63 6c 6f 73 | 69 6e 67 50 72 6f 63 20 |ndEnclos|ingProc |
|000016b0| 24 70 6f 73 5d 20 7d 20 | 5d 20 7b 0d 09 09 6c 6f |$pos] } |] {...lo|
|000016c0| 61 64 4c 69 6e 65 20 24 | 70 6f 73 0d 09 7d 20 65 |adLine $|pos..} e|
|000016d0| 6c 73 65 20 7b 0d 09 09 | 65 76 61 6c 20 73 65 6c |lse {...|eval sel|
|000016e0| 65 63 74 20 24 70 0d 09 | 09 75 70 6c 65 76 65 6c |ect $p..|.uplevel|
|000016f0| 20 5c 23 30 20 6c 6f 61 | 64 09 0d 09 7d 0d 09 67 | \#0 loa|d...}..g|
|00001700| 6f 74 6f 20 24 70 6f 73 | 0d 7d 0d 0d 23 20 49 66 |oto $pos|.}..# If|
|00001710| 20 74 68 65 20 66 69 72 | 73 74 20 62 72 61 63 65 | the fir|st brace|
|00001720| 20 61 66 74 65 72 20 27 | 70 72 6f 63 27 20 65 6e | after '|proc' en|
|00001730| 64 73 20 74 68 65 20 63 | 75 72 72 65 6e 74 20 6c |ds the c|urrent l|
|00001740| 69 6e 65 2c 20 74 68 65 | 6e 0d 23 20 61 73 73 75 |ine, the|n.# assu|
|00001750| 6d 65 20 74 68 65 20 61 | 72 67 75 6d 65 6e 74 20 |me the a|rgument |
|00001760| 77 61 73 20 61 20 73 69 | 6e 67 6c 65 20 61 72 67 |was a si|ngle arg|
|00001770| 20 77 69 74 68 20 6e 6f | 20 62 72 61 63 65 73 2e | with no| braces.|
|00001780| 0d 70 72 6f 63 20 66 69 | 6e 64 45 6e 63 6c 6f 73 |.proc fi|ndEnclos|
|00001790| 69 6e 67 50 72 6f 63 20 | 7b 20 70 6f 73 20 7d 20 |ingProc |{ pos } |
|000017a0| 7b 0d 20 20 20 20 20 20 | 20 20 73 65 74 20 73 74 |{. | set st|
|000017b0| 61 72 74 20 5b 6c 69 6e | 64 65 78 20 5b 73 65 61 |art [lin|dex [sea|
|000017c0| 72 63 68 20 2d 73 20 2d | 72 20 31 20 2d 66 20 30 |rch -s -|r 1 -f 0|
|000017d0| 20 7b 5e 28 70 72 6f 63 | 7c 63 6c 61 73 73 29 20 | {^(proc||class) |
|000017e0| 7d 20 24 70 6f 73 5d 20 | 30 5d 0d 0d 20 20 20 20 |} $pos] |0].. |
|000017f0| 20 20 20 20 23 20 66 69 | 6e 64 20 74 68 65 20 70 | # fi|nd the p|
|00001800| 61 72 61 6d 65 74 65 72 | 20 62 6c 6f 63 6b 0d 20 |arameter| block. |
|00001810| 20 20 20 20 20 20 20 73 | 65 74 20 70 31 20 5b 6c | s|et p1 [l|
|00001820| 69 6e 64 65 78 20 5b 73 | 65 61 72 63 68 20 2d 73 |index [s|earch -s|
|00001830| 20 2d 66 20 31 20 22 5c | 7b 22 20 24 73 74 61 72 | -f 1 "\|{" $star|
|00001840| 74 5d 20 30 5d 0d 20 20 | 20 20 20 20 20 20 73 65 |t] 0]. | se|
|00001850| 74 20 70 20 5b 6d 61 74 | 63 68 49 74 20 22 5c 7b |t p [mat|chIt "\{|
|00001860| 22 20 5b 65 78 70 72 20 | 24 70 31 20 2b 31 5d 5d |" [expr |$p1 +1]]|
|00001870| 0d 20 20 20 20 20 20 20 | 20 69 66 20 7b 20 5b 73 |. | if { [s|
|00001880| 74 72 69 6e 67 20 74 72 | 69 6d 20 5b 67 65 74 54 |tring tr|im [getT|
|00001890| 65 78 74 20 24 70 31 20 | 5b 6e 65 78 74 4c 69 6e |ext $p1 |[nextLin|
|000018a0| 65 53 74 61 72 74 20 24 | 70 31 5d 5d 5d 20 3d 3d |eStart $|p1]]] ==|
|000018b0| 20 22 5c 7b 22 20 7d 20 | 7b 0d 20 20 20 20 20 20 | "\{" } |{. |
|000018c0| 20 20 20 20 20 20 20 20 | 20 20 69 66 20 7b 20 24 | | if { $|
|000018d0| 70 20 3c 20 24 70 6f 73 | 20 7d 20 7b 0d 20 20 20 |p < $pos| } {. |
|000018e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000018f0| 20 20 20 20 20 65 72 72 | 6f 72 0d 20 20 20 20 20 | err|or. |
|00001900| 20 20 20 20 20 20 20 20 | 20 20 20 7d 20 65 6c 73 | | } els|
|00001910| 65 20 7b 0d 20 20 20 20 | 20 20 20 20 20 20 20 20 |e {. | |
|00001920| 20 20 20 20 20 20 20 20 | 20 20 20 20 72 65 74 75 | | retu|
|00001930| 72 6e 20 5b 6c 69 73 74 | 20 24 73 74 61 72 74 20 |rn [list| $start |
|00001940| 5b 65 78 70 72 20 24 70 | 20 2b 31 5d 5d 0d 20 20 |[expr $p| +1]]. |
|00001950| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 7d 0d | | }.|
|00001960| 20 20 20 20 20 20 20 20 | 7d 0d 0d 20 20 20 20 20 | |}.. |
|00001970| 20 20 20 23 20 66 69 6e | 64 20 74 68 65 20 62 6f | # fin|d the bo|
|00001980| 64 79 0d 20 20 20 20 20 | 20 20 20 73 65 74 20 70 |dy. | set p|
|00001990| 20 5b 6c 69 6e 64 65 78 | 20 5b 73 65 61 72 63 68 | [lindex| [search|
|000019a0| 20 2d 73 20 2d 66 20 31 | 20 22 5c 7b 22 20 24 70 | -s -f 1| "\{" $p|
|000019b0| 5d 20 30 5d 0d 20 20 20 | 20 20 20 20 20 73 65 74 |] 0]. | set|
|000019c0| 20 70 20 5b 6d 61 74 63 | 68 49 74 20 22 5c 7b 22 | p [matc|hIt "\{"|
|000019d0| 20 5b 65 78 70 72 20 24 | 70 20 2b 31 5d 5d 0d 20 | [expr $|p +1]]. |
|000019e0| 20 20 20 20 20 20 20 69 | 6e 63 72 20 70 0d 20 20 | i|ncr p. |
|000019f0| 20 20 20 20 20 20 69 66 | 20 7b 20 24 70 20 3c 20 | if| { $p < |
|00001a00| 24 70 6f 73 20 7d 20 7b | 20 65 72 72 6f 72 20 7d |$pos } {| error }|
|00001a10| 0d 20 20 20 20 20 20 20 | 20 72 65 74 75 72 6e 20 |. | return |
|00001a20| 5b 6c 69 73 74 20 24 73 | 74 61 72 74 20 24 70 5d |[list $s|tart $p]|
|00001a30| 0d 7d 0d 0d 70 72 6f 63 | 20 6c 6f 61 64 4c 69 6e |.}..proc| loadLin|
|00001a40| 65 20 7b 20 70 6f 73 20 | 7d 20 7b 0d 09 67 6f 74 |e { pos |} {..got|
|00001a50| 6f 20 24 70 6f 73 0d 09 | 62 65 67 69 6e 6e 69 6e |o $pos..|beginnin|
|00001a60| 67 4c 69 6e 65 53 65 6c | 65 63 74 0d 09 65 6e 64 |gLineSel|ect..end|
|00001a70| 4c 69 6e 65 53 65 6c 65 | 63 74 0d 09 75 70 6c 65 |LineSele|ct..uple|
|00001a80| 76 65 6c 20 5c 23 30 20 | 6c 6f 61 64 09 0d 7d 0d |vel \#0 |load..}.|
|00001a90| 0d 70 72 6f 63 20 74 72 | 61 63 65 54 68 69 73 50 |.proc tr|aceThisP|
|00001aa0| 72 6f 63 20 7b 7d 20 7b | 0d 09 67 6c 6f 62 61 6c |roc {} {|..global|
|00001ab0| 20 74 63 6c 4d 65 6e 75 | 0d 09 23 20 69 66 20 77 | tclMenu|..# if w|
|00001ac0| 65 27 72 65 20 74 72 61 | 63 69 6e 67 20 61 6c 72 |e're tra|cing alr|
|00001ad0| 65 61 64 79 20 74 68 65 | 6e 20 63 6c 65 61 72 20 |eady the|n clear |
|00001ae0| 69 74 0d 09 69 66 20 7b | 5b 6c 6c 65 6e 67 74 68 |it..if {|[llength|
|00001af0| 20 5b 74 72 61 63 65 46 | 75 6e 63 20 73 74 61 74 | [traceF|unc stat|
|00001b00| 75 73 5d 5d 3e 32 7d 20 | 7b 20 74 72 61 63 65 54 |us]]>2} |{ traceT|
|00001b10| 63 6c 50 72 6f 63 20 7d | 0d 09 0d 09 73 65 74 20 |clProc }|....set |
|00001b20| 70 20 5b 66 69 6e 64 45 | 6e 63 6c 6f 73 69 6e 67 |p [findE|nclosing|
|00001b30| 50 72 6f 63 20 5b 67 65 | 74 50 6f 73 5d 5d 0d 09 |Proc [ge|tPos]]..|
|00001b40| 0d 09 73 65 74 20 66 75 | 6e 63 20 5b 6c 69 6e 64 |..set fu|nc [lind|
|00001b50| 65 78 20 5b 67 65 74 54 | 65 78 74 20 24 70 20 5b |ex [getT|ext $p [|
|00001b60| 6e 65 78 74 4c 69 6e 65 | 53 74 61 72 74 20 24 70 |nextLine|Start $p|
|00001b70| 5d 5d 20 31 5d 0d 09 0d | 09 74 72 61 63 65 46 75 |]] 1]...|.traceFu|
|00001b80| 6e 63 20 6f 6e 20 24 66 | 75 6e 63 20 22 22 0d 09 |nc on $f|unc ""..|
|00001b90| 63 61 74 63 68 20 7b 6d | 61 72 6b 4d 65 6e 75 49 |catch {m|arkMenuI|
|00001ba0| 74 65 6d 20 24 74 63 6c | 4d 65 6e 75 20 7b 74 72 |tem $tcl|Menu {tr|
|00001bb0| 61 63 65 54 63 6c 50 72 | 6f 63 c9 7d 20 6f 6e 7d |aceTclPr|oc.} on}|
|00001bc0| 0d 09 63 61 74 63 68 20 | 7b 65 6e 61 62 6c 65 4d |..catch |{enableM|
|00001bd0| 65 6e 75 49 74 65 6d 20 | 24 74 63 6c 4d 65 6e 75 |enuItem |$tclMenu|
|00001be0| 20 64 75 6d 70 54 72 61 | 63 65 73 20 6f 6e 7d 0d | dumpTra|ces on}.|
|00001bf0| 09 6d 65 73 73 61 67 65 | 20 22 54 72 61 63 69 6e |.message| "Tracin|
|00001c00| 67 20 27 24 66 75 6e 63 | 27 c9 22 0d 7d 0d 00 00 |g '$func|'.".}...|
|00001c10| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001c20| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001c30| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001c40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001c50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001c60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001c70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001c80| 00 00 01 00 00 00 01 4c | 00 00 00 4c 00 00 00 32 |.......L|...L...2|
|00001c90| 72 6c 4d 65 6e 75 20 7b | 2a 2e 70 6c 20 2a 2e 70 |rlMenu {|*.pl *.p|
|00001ca0| 68 20 2a 2e 70 6d 7d 20 | 70 65 72 6c 4d 65 6e 75 |h *.pm} |perlMenu|
|00001cb0| 0b 74 63 6c 4d 6f 64 65 | 2e 74 63 6c 02 00 00 00 |.tclMode|.tcl....|
|00001cc0| 54 45 58 54 41 4c 46 41 | 01 00 01 a8 00 47 00 00 |TEXTALFA|.....G..|
|00001cd0| 00 00 54 45 58 54 41 4c | 46 41 01 00 01 a8 00 47 |..TEXTAL|FA.....G|
|00001ce0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001cf0| 00 00 aa 22 41 a9 00 00 | 1b 8e 00 00 01 7e 20 5b |..."A...|.....~ [|
|00001d00| 6c 69 73 74 20 22 24 61 | 74 74 72 3d 22 20 24 74 |list "$a|ttr=" $t|
|00001d10| 79 70 65 5d 7d 0d 09 09 | 4e 75 6d 62 65 72 20 7b |ype]}...|Number {|
|00001d20| 0d 09 09 09 73 65 74 20 | 76 61 6c 75 65 73 20 7b |....set |values {|
|00001d30| 30 20 30 20 30 20 7b 7d | 20 30 7d 0d 09 09 09 77 |0 0 0 {}| 0}....w|
|00001d40| 68 69 6c 65 20 7b 31 7d | 20 7b 0d 09 09 09 09 73 |hile {1}| {.....s|
|00001d50| 65 74 20 62 6f 78 20 22 | 2d 74 20 7b 52 61 6e 67 |et box "|-t {Rang|
|00001d60| 65 20 66 6f 72 20 24 61 | 74 74 72 7d 20 36 30 20 |e for $a|ttr} 60 |
|00001d70| 31 30 20 32 39 30 20 32 | 35 20 2d 74 20 7b 4d 69 |10 290 2|5 -t {Mi|
|00001d80| 00 00 00 48 00 09 4d 6f | 6e 61 63 6f 00 b6 2d 80 |...H..Mo|naco..-.|
|00001d90| 00 00 00 00 01 ae 73 94 | 01 d5 7a b0 24 00 04 22 |......s.|..z.$.."|
|00001da0| 02 0f eb c0 00 01 00 04 | 00 04 00 28 00 02 02 5b |........|...(...[|
|00001db0| 02 00 00 28 00 02 02 5b | 02 00 ae 39 5b f5 00 00 |...(...[|...9[...|
|00001dc0| 1a 8a 00 00 1a 8a 00 00 | 16 7b 01 00 00 00 01 00 |........|.{......|
|00001dd0| 00 00 01 4c 00 00 00 4c | 00 00 00 32 01 ac da c8 |...L...L|...2....|
|00001de0| 1a 14 00 00 00 1c 00 32 | 00 00 4d 50 53 52 00 00 |.......2|..MPSR..|
|00001df0| 00 0a 03 ed ff ff 00 00 | 00 00 01 b6 2d 34 00 00 |........|....-4..|
+--------+-------------------------+-------------------------+--------+--------+